//==========================================================================;
//
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
//  PURPOSE.
//
//  Copyright (c) Microsoft Corporation.  All Rights Reserved.
//
//==========================================================================;

//
//  Define the name GUID for our digital tuner filter.
//
//  NOTE!  You must use a different GUID for each type of filter that
//  your driver exposes.
//
#ifdef ATSC_RECEIVER

//#define STATIC_KSNAME_BdaSWTunerFilter\
//    0x91b0cc87L, 0x9905, 0x4d65, 0xa0, 0xd1, 0x58, 0x61, 0xc6, 0xf2, 0x2c, 0xbf
//DEFINE_GUIDSTRUCT("91B0CC87-9905-4d65-A0D1-5861C6F22CBF", KSNAME_BdaSWTunerFilter);
//#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
////  Must match the KSSTRING used in the installation INFs interface sections
////  AND must match the KSNAME GUID above.
////
//#define KSSTRING_BdaSWTunerFilter L"{91B0CC87-9905-4d65-A0D1-5861C6F22CBF}"


#define STATIC_KSNAME_BdaSWTunerFilter 0x0E7E99D4, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99D4-8A1C-11DB-BDA1-00123F758252", KSNAME_BdaSWTunerFilter );
#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
#define KSSTRING_BdaSWTunerFilter L"{0E7E99D4-8A1C-11DB-BDA1-00123F758252}"

#else // ATSC
#ifdef QAM_RECEIVER

#define STATIC_KSNAME_BdaSWTunerFilter 0x0E7E99DD, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99DD-8A1C-11DB-BDA1-00123F758252", KSNAME_BdaSWTunerFilter );
#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
#define KSSTRING_BdaSWTunerFilter L"{0E7E99DD-8A1C-11DB-BDA1-00123F758252}"

#else // QAM
#ifdef DVBT_RECEIVER

//#define STATIC_KSNAME_BdaSWTunerFilter\
//    0xce825236, 0xbcde, 0x439b, 0xa4, 0xc6, 0x2d, 0xdf, 0xdb, 0x4b, 0xc9, 0xaa
//DEFINE_GUIDSTRUCT("CE825236-BCDE-439b-A4C6-2DDFDB4BC9AA", KSNAME_BdaSWTunerFilter);
//#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
////  Must match the KSSTRING used in the installation INFs interface sections
////  AND must match the KSNAME GUID above.
////
//#define KSSTRING_BdaSWTunerFilter L"{CE825236-BCDE-439b-A4C6-2DDFDB4BC9AA}"

#define STATIC_KSNAME_BdaSWTunerFilter 0x0E7E99D5, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99D5-8A1C-11DB-BDA1-00123F758252", KSNAME_BdaSWTunerFilter );
#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
#define KSSTRING_BdaSWTunerFilter L"{0E7E99D5-8A1C-11DB-BDA1-00123F758252}"


#else // DVBT
#ifdef DVBS_RECEIVER

#define STATIC_KSNAME_BdaSWTunerFilter 0x0E7E99DA, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99DA-8A1C-11DB-BDA1-00123F758252", KSNAME_BdaSWTunerFilter );
#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
#define KSSTRING_BdaSWTunerFilter L"{0E7E99DA-8A1C-11DB-BDA1-00123F758252}"


#else // DVBS
#ifdef ISDBT_RECEIVER

//#define STATIC_KSNAME_BdaSWTunerFilter\
//    0x7ec347b3, 0x4acf, 0x43b6, 0xb3, 0xc1, 0xb2, 0x88, 0x13, 0x08, 0x81, 0xe4
//DEFINE_GUIDSTRUCT("7ec347b3-4acf-43b6-b3c1-b288130881e4", KSNAME_BdaSWTunerFilter);
//#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
////  Must match the KSSTRING used in the installation INFs interface sections
////  AND must match the KSNAME GUID above.
////
//#define KSSTRING_BdaSWTunerFilter L"{7ec347b3-4acf-43b6-b3c1-b288130881e4}"


#define STATIC_KSNAME_BdaSWTunerFilter 0x0E7E99D9, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99D9-8A1C-11DB-BDA1-00123F758252", KSNAME_BdaSWTunerFilter);
#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
//  Must match the KSSTRING used in the installation INFs interface sections
//  AND must match the KSNAME GUID above.
//
#define KSSTRING_BdaSWTunerFilter L"{0E7E99D9-8A1C-11DB-BDA1-00123F758252}"



#else // ISDBT
#ifdef ISDBS_RECEIVER
#define STATIC_KSNAME_BdaSWTunerFilter\
    0xe7e99dc, 0x8a1c, 0x11db, 0xbd, 0xa1, 0x00, 0x12, 0x3f, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99DC-8A1C-11DB-BDA1-00123F758252", KSNAME_BdaSWTunerFilter);
#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
//  Must match the KSSTRING used in the installation INFs interface sections
//  AND must match the KSNAME GUID above.
//
#define KSSTRING_BdaSWTunerFilter L"{0E7E99DC-8A1C-11DB-BDA1-00123F758252}"


#else // ISDBS
#ifdef NETOP_RECEIVER
#define STATIC_KSNAME_BdaSWTunerFilter 0x627d5c07, 0x457c, 0x4a61, 0x85, 0x56, 0x36, 0xd9, 0x80, 0xa5, 0xe0, 0xe2
DEFINE_GUIDSTRUCT("627d5c07-457c-4a61-8556-36d980a5e0e2", KSNAME_BdaSWTunerFilter );
#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
#define KSSTRING_BdaSWTunerFilter L"{627d5c07-457c-4a61-8556-36d980a5e0e2}"

#else
#ifdef DVBC_RECEIVER

#define STATIC_KSNAME_BdaSWTunerFilter 0x0E7E99DB, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99DB-8A1C-11DB-BDA1-00123F758252", KSNAME_BdaSWTunerFilter );
#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
#define KSSTRING_BdaSWTunerFilter L"{0E7E99DB-8A1C-11DB-BDA1-00123F758252}"

#else
#ifdef PBDAT_RECEIVER

#define STATIC_KSNAME_BdaSWTunerFilter 0x0E7E99DE, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99DE-8A1C-11DB-BDA1-00123F758252", KSNAME_BdaSWTunerFilter );
#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
#define KSSTRING_BdaSWTunerFilter L"{0E7E99DE-8A1C-11DB-BDA1-00123F758252}"

#else //pbdat
#ifdef DMBTH_RECEIVER

// {A900D25A-5859-4219-9FF7-39CB66561B36}
//DEFINE_GUID(<<name>>, 
//0xa900d25a, 0x5859, 0x4219, 0x9f, 0xf7, 0x39, 0xcb, 0x66, 0x56, 0x1b, 0x36);
//588A28D6-B23C-408b-AC21-FAFAF3DD884D
//0x588a28d6, 0xb23c, 0x408b, 0xac, 0x21, 0xfa, 0xfa, 0xf3, 0xdd, 0x88, 0x4d);
#define STATIC_KSNAME_BdaSWTunerFilter 0xa900d25a, 0x5859, 0x4219, 0x9f, 0xf7, 0x39, 0xcb, 0x66, 0x56, 0x1b, 0x36
DEFINE_GUIDSTRUCT("A900D25A-5859-4219-9FF7-39CB66561B36", KSNAME_BdaSWTunerFilter );
#define KSNAME_BdaSWTunerFilter DEFINE_GUIDNAMED(KSNAME_BdaSWTunerFilter)
//  Must match the KSSTRING used in the installation INFs interface sections
//  AND must match the KSNAME GUID above.
//
#define KSSTRING_BdaSWTunerFilter L"{A900D25A-5859-4219-9FF7-39CB66561B36}"

#endif //DMB-TH
#endif //PBDA-T
#endif // DVBC
#endif // NETOP
#endif  //ISDBS
#endif  //ISDBT
#endif  //DVBT
#endif  //DVBS
#endif  //QAM
#endif  //ATSC

// {CB63007C-9ACB-43f7-8020-1EF8FC1EFA41}
#define STATIC_KSCATEGORY_MCE_COMP_TUNER\
    0xCB63007CL, 0x9ACB, 0x43f7, 0x80, 0x20, 0x1E, 0xF8, 0xFC, 0x1E, 0xFA, 0x41
DEFINE_GUIDSTRUCT("CB63007C-9ACB-43f7-8020-1EF8FC1EFA41", KSCATEGORY_MCE_COMP_TUNER);
#define KSCATEGORY_MCE_COMP_TUNER DEFINE_GUIDNAMED(KSCATEGORY_MCE_COMP_TUNER)

//
//  Define the name GUID for our digital capture filter.
//
//  NOTE!  You must use a different GUID for each type of filter that
//  your driver exposes.
//
#define STATIC_KSNAME_BdaSWCaptureFilter\
    074649feL, 0x2dd8, 0x4c12, 0x8a, 0x23, 0xbd, 0x82, 0x8b, 0xad, 0xff, 0xfa
DEFINE_GUIDSTRUCT("074649FE-2DD8-4C12-8A23-BD828BADFFFA", KSNAME_BdaSWCaptureFilter);
#define KSNAME_BdaSWCaptureFilter DEFINE_GUIDNAMED(KSNAME_BdaSWCaptureFilter)


//  Must match the KSSTRING used in the installation INFs interface sections
//  AND must match the KSNAME GUID above.
//
#define KSSTRING_BdaSWCaptureFilter L"{074649FE-2DD8-4C12-8A23-BD828BADFFFA}"


//DEVICE_ID = { /* 0E7E99D3-8A1C-11DB-BDA1-00123F758252 */
#define STATIC_KSNAME_DEVICE_ID 0x0E7E99D3, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52 
DEFINE_GUIDSTRUCT("0E7E99D3-8A1C-11DB-BDA1-00123F758252", KSNAME_DEVICE_ID );

//INTERFACENAME2 = { /* 0E7E99D4-8A1C-11DB-BDA1-00123F758252 */
#define STATIC_KSNAME_ATSCMERGEDTUNER 0x0E7E99D4, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99D4-8A1C-11DB-BDA1-00123F758252", KSNAME_ATSCMERGEDTUNER );

//INTERFACENAME3 = { /* 0E7E99D5-8A1C-11DB-BDA1-00123F758252 */
#define STATIC_KSNAME_DVBTMERGEDTUNER 0x0E7E99D5, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99D5-8A1C-11DB-BDA1-00123F758252", KSNAME_DVBTMERGEDTUNER );

//INTERFACENAME4 = { /* 0E7E99D6-8A1C-11DB-BDA1-00123F758252 */
#define STATIC_KSNAME_DVBTSWTDEVICE 0x0E7E99D6, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99D6-8A1C-11DB-BDA1-00123F758252", KSNAME_DVBTSWTDEVICE );

//INTERFACENAME5 = { /* 0E7E99D7-8A1C-11DB-BDA1-00123F758252 */
#define STATIC_KSNAME_INTERFACENAME5 0x0E7E99D7, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99D7-8A1C-11DB-BDA1-00123F758252", KSNAME_INTERFACE5 );

//INTERFACENAME6 = { /* 0E7E99D8-8A1C-11DB-BDA1-00123F758252 */
//#define STATIC_KSNAME_ISDBTSWTDEVICE 0x0E7E99D8, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
//DEFINE_GUIDSTRUCT("0E7E99D8-8A1C-11DB-BDA1-00123F758252", KSNAME_ISDBTSWTDEVICE );

//INTERFACENAME7 = { /* 0E7E99D9-8A1C-11DB-BDA1-00123F758252 */
#define STATIC_KSNAME_ISDBTMERGEDTUNER 0x0E7E99D9, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99D9-8A1C-11DB-BDA1-00123F758252", KSNAME_ISDBTMERGEDTUNER);

//INTERFACENAME8 = { /* 0E7E99DA-8A1C-11DB-BDA1-00123F758252 */
#define STATIC_KSNAME_DVBSMERGEDTUNER 0x0E7E99DA, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99DA-8A1C-11DB-BDA1-00123F758252", KSNAME_DVBSMERGEDTUNER);

//INTERFACENAME9 = { /* 0E7E99DB-8A1C-11DB-BDA1-00123F758252 */
#define STATIC_KSNAME_DVBCMERGEDTUNER 0x0E7E99DB, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99DB-8A1C-11DB-BDA1-00123F758252", KSNAME_DVBCMERGEDTUNER );

//INTERFACENAME10 = { /* 0E7E99DC-8A1C-11DB-BDA1-00123F758252 */
#define STATIC_KSNAME_ISDBSMERGEDTUNER 0x0E7E99DC, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99DC-8A1C-11DB-BDA1-00123F758252", KSNAME_ISDBSMERGEDTUNER );

//INTERFACENAME11 = { /* 0E7E99DD-8A1C-11DB-BDA1-00123F758252 */
#define STATIC_KSNAME_QAMMERGEDTUNER 0x0E7E99DD, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99DD-8A1C-11DB-BDA1-00123F758252", KSNAME_QAMMERGEDTUNER );

#define STATIC_KSNAME_NETOPMERGEDTUNER 0x627d5c07, 0x457c, 0x4a61, 0x85, 0x56, 0x36, 0xd9, 0x80, 0xa5, 0xe0, 0xe2
DEFINE_GUIDSTRUCT("627d5c07-457c-4a61-8556-36d980a5e0e2", NSNAME_NETOPMERGEDTUNER);

//INTERFACENAME12 = { /* 0E7E99DE-8A1C-11DB-BDA1-00123F758252 */
#define STATIC_KSNAME_PBDATMERGEDTUNER 0x0E7E99DE, 0x8A1C, 0x11DB, 0xBD, 0xA1, 0x00, 0x12, 0x3F, 0x75, 0x82, 0x52
DEFINE_GUIDSTRUCT("0E7E99DE-8A1C-11DB-BDA1-00123F758252", KSNAME_PBDATMERGEDTUNER );

